// 1.arguments.length的长度是实际传入的实参的个数
// 2.core.length 是形参的个数
// 3. 一个函数返回一个函数或者一个函数接收函数作为参数，称为高阶函数


function core(a, b) {
    console.log(arguments.length, core.length)
    console.log(a, b)
}


Function.prototype.before = function (callback) {
    return (...args) => {
        callback('回调函数')
        this(...args)
    }
}
const newCore = core.before((...args) => {
    console.log('core方法的初始化', ...args)
})

newCore('a', 'b')
